Analysis of Concurrent Lock-Free Hash Tries with Constant-Time Operations
نویسنده
چکیده
Ctrie is a scalable concurrent non-blocking dictionary data structure, with good cache locality, and non-blocking linearizable iterators [4]. However, operations on most existing concurrent hash tries run in O(logn) time. In this technical report, we extend the standard concurrent hash-tries [3] with an auxiliary data structure called a cache1. The cache is essentially an array that stores pointers to a specific level of the hash trie. We analyze the performance implications of adding a cache, and prove that the running time of the basic operations becomes O(1).
منابع مشابه
Cache-Aware Lock-Free Concurrent Hash Tries
This report describes an implementation of a non-blocking concurrent shared-memory hash trie based on single-word compare-andswap instructions. Insert, lookup and remove operations modifying different parts of the hash trie can be run independent of each other and do not contend. Remove operations ensure that the unneeded memory is freed and that the trie is kept compact. A pseudocode for these...
متن کاملSplit-Ordered Lists: Lock-Free Extensible Hash Tables (a summary)
The hash table is a common data structure for applications requiring constant time insert, delete and find of certain items. The basic idea is to use an array of buckets, where each bucket stores a list of items. A hash function is used to determine which bucket a certain item belongs to. Finding or deleting a specific item amounts to a linear search in a bucket list pointed to by the hash func...
متن کاملA Simple and Efficient Lock-Free Hash Trie Design for Concurrent Tabling
A critical component in the implementation of a concurrent tabling system is the design of the table space. One of the most successful proposals for representing tables is based on a two-level trie data structure, where one trie level stores the tabled subgoal calls and the other stores the computed answers. In this work, we present a simple and efficient lock-free design where both levels of t...
متن کاملSnapQueue: lock-free queue with constant time snapshots
We introduce SnapQueues concurrent, lock-free queues with a linearizable, lock-free global-state transition operation. This transition operation can atomically switch between arbitrary SnapQueue states, and is used by enqueue, dequeue, snapshot and concatenation operations. We show that implementing these operations efficiently depends on the persistent data structure at the core of the SnapQue...
متن کاملConcurrent Operations in Extendible Hashing
An algorithm for synchronizing concurrent operations on extendible hash files is presented. The algorithm is deadlock free and allows the search operations to proceed concurrently with insertion operations without having to acquire locks on the directory entries or the data pages. It also allows concurrent insertion/deletion operations to proceed without having to acquire locks on the directory...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1712.09636 شماره
صفحات -
تاریخ انتشار 2017